import request from '../utils/request'

/**
 * 登录请求参数
 */
export interface LoginParams {
  username: string
  password: string
  captchaId: string
  captchaCode: string
}

/**
 * 注册请求参数
 */
export interface RegisterParams {
  username: string
  password: string
  email?: string
  realName?: string
  phoneNumber?: string
}

/**
 * 修改密码参数
 */
export interface ChangePasswordParams {
  oldPassword: string
  newPassword: string
}

/**
 * 获取验证码
 */
export function getCaptcha() {
  return request({
    url: '/auth/captcha',
    method: 'get'
  })
}

/**
 * 用户登录
 * @param data 登录参数
 */
export function login(data: LoginParams) {
  return request({
    url: '/auth/login',
    method: 'post',
    data
  })
}

/**
 * 用户注册
 * @param data 注册参数
 */
export function register(data: RegisterParams) {
  return request({
    url: '/auth/register',
    method: 'post',
    data
  })
}

/**
 * 获取用户信息
 */
export function getUserInfo() {
  return request({
    url: '/auth/user',
    method: 'get'
  })
}

/**
 * 修改密码
 * @param data 修改密码参数
 */
export function changePassword(data: ChangePasswordParams) {
  return request({
    url: '/auth/change-password',
    method: 'post',
    data
  })
}

/**
 * 退出登录
 */
export function logout() {
  localStorage.removeItem('token')
  return Promise.resolve({ code: 0, message: '退出成功', data: null })
} 